package com.tiny.codegen;

import java.util.Scanner;

import com.tiny.codegen.template.ITemplateGenerate;
import com.tiny.codegen.template.apiWord.DbToWordGenerate;
import com.tiny.codegen.template.batis.BatisGenerate;;

/**
 * 入口方法
 * 
 * @author Tiny</br>
 *         mail: 114740122@qq.com
 * @date 2018年7月10日  
 * @version 1.0
 */
public class Main {
	
	@SuppressWarnings("resource")
	public static void main(String[] args) throws Exception {
		System.out.println("####        代码生成工具列表        ####");
		System.out.println("1：mybatis反向生成代码");
		System.out.println("2：生成接口文档");
		ITemplateGenerate codeGenerate = null;
		while(true) {
			try {
				System.out.print("请输入功能序号：");
				Scanner input = new Scanner(System.in);
				String input_str = input.next();
				if(input_str.equals("exit")) {
					break;
				}
				if(Integer.parseInt(input_str) > 3) {
					System.out.println("序号不存在");
					continue;
				}
				
				System.out.print("请输入模板目录：");
				String templateDir = input.next();
				
				System.out.println("模板路径:[" + templateDir + "],开始准备生成代码");
				switch (input_str) {
					case "1":
					codeGenerate = new BatisGenerate(templateDir);
					break;
					case "2":
						codeGenerate = new DbToWordGenerate(templateDir);
						break;
				}
				if(null != codeGenerate) {
					codeGenerate.generate();
					System.out.println("生成完毕");
				}
			} catch (Exception e) {
				System.out.println(e);
			}
		}
		System.out.print("退出工具");
	}

}
